﻿using System;
using System.Web;
using System.Xml;
using Core.Library;
using DataObject.Customer;
using Library.Components;

public partial class Controls_Customer_Login : System.Web.UI.UserControl
{
    protected CustomerObject Customer;
    protected string IsShow = "block";

    protected void Page_Load(object sender, EventArgs e)
    {
                  
    }

    protected void BtnLogin(object sender, EventArgs e)
    {
        var username = txtUserName.Text.Trim();
        var password = txtPassword.Text.Trim();

        if (CustomerController.Login(username, SecurityUtility.MD5Encrypt(password)))
        {
            var o = CustomerController.Customer_GetByUsername(username);
            if (o != null)
            {
                HttpContext.Current.Session["e3group.denhongphuc.customer"] = o;

                Response.Redirect(UrlHelpers.CustomerOrder);
            }                
        }
        else
            ltMessage.Text = MessageUtility.ShowMessage(string.Empty, "Tên đăng nhập hoặc mật khẩu không đúng.<br/> Vui lòng đăng nhập lại.", MessageType.Warning);
    }

    protected void BtnSend(object sender, EventArgs e)
    {
        var email = txtEmail.Text.Trim();
        if (!string.IsNullOrEmpty(email))
        {
            var isHasEmail = CustomerController.Customer_CheckEmailExist(email);
            if (isHasEmail > 0)
            {
                var o = CustomerController.Customer_GetByEmail(email);
                if (o != null)
                {
                    var objStr = new CString();
                    var sRandom = objStr.RandomString(5, false, false);

                    CustomerController.Customer_ChangePassword(o.CustomerId, SecurityUtility.MD5Encrypt(sRandom));

                     var doc = new XmlDocument();
                     doc.Load(Server.MapPath("App_Data/ForgotPassword.xml"));
                     var node = doc.SelectSingleNode("emails/email[@id='ForgotPassword']");
                    // Set info from xml file in to email   
                    var childNode = node.SelectSingleNode("subject");

                    // Subject: ...
                    var subject = string.Format("Quên mật khẩu? - www.haycungchiase.com");
                    // Body: ...
                    childNode = node.SelectSingleNode("body");
                    var Body = childNode.InnerText;

                    Body = Body.Replace("[Subject]", subject);
                    Body = Body.Replace("[ContactName]", o.ContactName);
                    Body = Body.Replace("[Username]", o.Username);
                    Body = Body.Replace("[Password]", sRandom);

                    var checkMail = MailUtility.Send(email, subject, Body);
                    if (checkMail)
                        ltMessage.Text = MessageUtility.ShowMessage(string.Empty,
                                            string.Format("Thông tin tài khoản của bạn đã được gửi vào hòm thư {0}", email), MessageType.Success);
                }
            }
        }   
        else
        {
            ltMessage.Text = MessageUtility.ShowMessage(string.Empty, "Địa chỉ hòm thư không được trống.", MessageType.Warning);
            return;
        }        
    }    
}